#pragma once
#include "Common/ComTypeDefine.h"
#include "base/core/singleton.h"
#include "base/core/object_pool.h"
#include "LoginLoginModule.h"
#include "LoginSystemModule.h"

//登录服模块管理器
class LoginServerModuleMgr : public ManualSingleton<LoginServerModuleMgr>
{
	friend class ManualSingleton < LoginServerModuleMgr >;
public:
	bool Init();
	void UnInit();
public:
	LoginServerModuleMgr();
	virtual~LoginServerModuleMgr();
private:
	LoginLoginModule		m_LoginModule;		//登录模块
	LoginSystemModule	m_SystemModule;		//系统模块（服务器专用）
};

#define g_MakeLoginServerModuleMgr() (LoginServerModuleMgr::Instance())
#define g_GetLoginServerModuleMgr()  (LoginServerModuleMgr::GetInstance())
#define g_DelLoginServerModuleMgr()  (LoginServerModuleMgr::Destroy())